iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
Python

進擊的Python系列 第 23

Day20-修改陣列形狀與項目

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20240824/20163257tWxfWFRBFE.jpg
圖片來源:(https://forum.gamer.com.tw/Co.php?bsn=43473&sn=45361)

NumPy修改陣列形狀與項目

修改陣列形狀

reshape()

將現有陣列轉換為指定維度的新陣列
新陣列的元素總數必須與原陣列相同

import numpy as np

arr = np.arange(12)  # 建立一個包含 0 到 11 的一維陣列
new_arr = arr.reshape(3, 4)  # 將 arr 轉換為 3x4 的二維陣列
print(new_arr)

# 輸出 [[ 0  1  2  3][ 4  5  6  7][ 8  9 10 11]]

resize()

調整陣列的尺寸
如果新尺寸大於原陣列,則用原陣列的最後一個元素填充
如果新尺寸小於原陣列,則截斷

new_arr = np.resize(arr, (2, 6))  # 將 arr 擴展為 2x6 的陣列
print(new_arr)

# 輸出
[[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]]

修改陣列項目

直接索引與切片
使用索引和切片來訪問和修改特定元素或子陣列

arr[0] = 100  # 將第一個元素修改為 100
arr[1:4] = 0  # 將索引 1 到 3 的元素設為 0
print(arr)

# 輸出 [100   0   0   0   4   5   6   7   8   9  10  11]

布林索引

使用布林陣列來選擇和修改滿足條件的元素

mask = arr > 5
arr[mask] = -1  # 將大於 5 的元素修改為 -1
print(arr)

# 輸出 [ 0  1  2  3  4  5 -1 -1 -1 -1 -1 -1]

花式索引

使用整數陣列來選擇元素

indices = [1, 2, 5]
arr[indices] = 10  # 將索引為 1, 2, 5 的元素修改為 10
print(arr)

# 輸出 [ 0 10 10  3  4 10  6  7  8  9 10 11]

添加元素

  • np.append():將元素添加到陣列末尾
  • np.insert():在指定位置插入元素
    刪除元素
  • np.delete():刪除指定元素或子陣列

資料來源:修改陣列形狀
修改陣列項目


上一篇
Day20-迭代陣列與項目賦值
下一篇
Day21-分割與合併陣列
系列文
進擊的Python36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言